// 队列服务耗时统计功能测试

async function testQueueDuration() {
  try {
    console.log('🔍 测试队列服务耗时统计功能...');
    
    // 1. 添加一个长时间运行的任务到队列
    console.log('\n1. 添加长时间运行任务到队列...');
    
    const task = {
      type: 'long-running-task',
      index: 1,
      duration: 3 // 3秒
    };
    
    const response = await fetch('http://localhost:3003/api/queue/task', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({ task })
    });
    
    if (response.ok) {
      const result = await response.json();
      console.log('✅ 任务添加成功');
      console.log(`  任务ID: ${result.taskId}`);
    } else {
      console.error('❌ 任务添加失败:', response.status);
      return;
    }
    
    // 2. 等待任务完成
    console.log('\n2. 等待任务完成...');
    await new Promise(resolve => setTimeout(resolve, 5000)); // 等待5秒
    
    // 3. 获取历史记录并检查耗时统计
    console.log('\n3. 获取历史记录并检查耗时统计...');
    
    const historyResponse = await fetch('http://localhost:3003/api/queue/history');
    
    if (historyResponse.ok) {
      const historyResult = await historyResponse.json();
      console.log('✅ 历史记录获取成功');
      
      if (historyResult.data && historyResult.data.length > 0) {
        // 查找我们刚添加的任务
        const recentTask = historyResult.data.find(task => 
          task.task && task.task.type === 'long-running-task' && task.task.index === 1
        );
        
        if (recentTask) {
          console.log('✅ 找到测试任务');
          console.log(`  任务ID: ${recentTask.id}`);
          console.log(`  任务状态: ${recentTask.status}`);
          console.log(`  任务耗时: ${recentTask.duration}ms`);
          
          // 验证耗时是否合理（应该在2000ms到5000ms之间）
          if (recentTask.duration >= 2000 && recentTask.duration <= 5000) {
            console.log('✅ 耗时统计功能正常工作');
          } else {
            console.log('⚠️ 耗时统计可能不准确');
          }
        } else {
          console.log('⚠️ 未找到测试任务');
        }
        
        // 显示最近的几条记录
        console.log('\n📋 最近的任务记录:');
        historyResult.data.slice(0, 3).forEach((task, index) => {
          console.log(`  ${index + 1}. ID: ${task.id} | 类型: ${task.task?.type || '未知'} | 状态: ${task.status} | 耗时: ${task.duration}ms`);
        });
      } else {
        console.log('⚠️ 没有历史记录');
      }
    } else {
      console.error('❌ 历史记录获取失败:', historyResponse.status);
    }
    
    console.log('\n✅ 队列服务耗时统计功能测试完成');
  } catch (error) {
    console.error('❌ 测试过程中发生错误:', error.message);
  }
}

// 执行测试
testQueueDuration();